#!/bin/bash 

#  修改SUID功能函数
function modify_suid()
{
       clear 
	success="修改成功"
	echo "正在查找SUID属性的文件。。。。"
        #  查找系统中的文件具有SUID属性的文件
        find / -perm -u=s > user_has_s 2> error	
	# 显示具有SUID属性的文件
	cat -n user_has_s 
	echo "*********************"
	read -p "请输入要修改的文件编号：" num
		file_name=`cat -n user_has_s | sed -n "${num} p" | cut -f 2`
		echo "您选择的文件是： ${file_name}" 
		ls -al ${file_name}
		echo "*********************"
		echo "1. 删除SUID 属性"	
		echo "2. 增加GUID属性"
		echo "3. 返回"
		read -p "请输入选项：" num 
		case ${num} in 
		1)
			chmod u-s ${file_name}
			echo ${success}
			ls -al ${file_name}
			;;
		2)	  
			chmod g+s ${file_name}
			echo ${success}
			ls -al ${file_name}
			;;
		3)
			;;
		*)
			echo "输入错误"
			echo "Usage: 1 | 2 | 3"
		   ;;
		esac
		echo "3秒后返回主菜单！"
		sleep 3
}

#function of modify SGID
function modify_sgid()
{
  
        clear 
	success="修改成功"
	echo "正在查找SGID属性的文件。。。。"
        #  查找系统中的文件具有SGID属性的文件
        find / -perm -g=s > group_has_s 2> error	
	# 显示具有SGID属性的文件
	cat -n group_has_s 
	echo "*********************"
	read -p "请输入要修改的文件编号：" num
		file_name=`cat -n group_has_s | sed -n "${num} p" | cut -f 2`
		echo "您选择的文件是： ${file_name}" 
		ls -al ${file_name}
		echo "*********************"
		echo "1. 删除SGID 属性"	
		echo "2. 增加SUID属性"
		echo "3. 返回"
		read -p "请输入选项：" num 
		case ${num} in 
		1)
			chmod g-s ${file_name}
			echo ${success}
			ls -al ${file_name}
			;;
		2)	  
			chmod u+s ${file_name}
			echo ${success}
			ls -al ${file_name}
			;;
		3)
			;;
		*)
			echo "输入错误"
			echo "Usage: 1 | 2 | 3"
		   ;;
		esac
		echo "3秒后返回主菜单！"
}

#  主程序入口
while [ 0 ]
do 
	clear
	#  显示用户菜单
	echo "   （请以管理员身份运行）"
	echo "****************************"
	echo "* 1.查看具有SUID属性的文件 *"
	echo "* 2.查看具有SGID属性的文件 *"
	echo "* 3.退出                   *"
	echo "****************************"
        read -p  "请输入选项: " choice
	case ${choice} in
    	1)
	    	modify_suid
	    	;;
	2)
	        modify_sgid
		;;
	3)
		clear 
		exit 0
		;;
	*)
		clear
		echo "输入错误！"
		echo "Usage: 1 | 2 | 3"
		sleep 2
		;;
	esac 
done
